home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / freebsd_fetch.nasl < prev    next >
Text File  |  2005-01-14  |  3KB  |  131 lines

  1. #
  2. # (C) Tenable Network Security
  3. #
  4. #
  5.  
  6. if ( ! defined_func("bn_random") ) exit(0);
  7. if(description)
  8. {
  9.  script_id(15761);
  10.  script_version ("$Revision: 1.1 $");
  11.  script_bugtraq_id(11702);
  12.  name["english"] = "FreeBSD : SA-04:16.fetch";
  13.  
  14.  script_name(english:name["english"]);
  15.  
  16.  desc["english"] = "
  17. The remote host is running a version of FreeBSD which contains a flaw in the 
  18. 'fetch' utility.
  19.  
  20. 'fetch' is a command-line tool used to retrieve data at a given URL. It is used
  21. (among others) by the FreeBSD port collection.
  22.  
  23. There is an integer overflow condition in the processing of HTTP headers
  24. which may result in a buffer overflow.
  25.  
  26. An attacker may exploit this flaw to execute arbitrary commands on the remote
  27. host. To exploit this flaw, an attacker would need to lure a victim on the remote
  28. host into downloading a URL from a malicious web server using this utility.
  29.  
  30. Solution : http://www.vuxml.org/freebsd/759b8dfe-3972-11d9-a9e7-0001020eed82.html
  31. Risk factor : High";
  32.  
  33.  
  34.  script_description(english:desc["english"]);
  35.  
  36.  summary["english"] = "Check for the version of the FreeBSD";
  37.  script_summary(english:summary["english"]);
  38.  
  39.  script_category(ACT_GATHER_INFO);
  40.  
  41.  script_copyright(english:"This script is Copyright (C) 2004 Tenable Network Security");
  42.  family["english"] = "FreeBSD Local Security Checks";
  43.  script_family(english:family["english"]);
  44.  
  45.  script_dependencies("ssh_get_info.nasl");
  46.  script_require_keys("Host/FreeBSD/pkg_info");
  47.  exit(0);
  48. }
  49.  
  50.  
  51.  
  52. include("freebsd_package.inc");
  53.  
  54.  
  55. package = get_kb_item("Host/FreeBSD/release");
  56.  
  57. if ( ! package ) exit(0);
  58.  
  59. if ( egrep(pattern:"FreeBSD-5\.3", string:package) )
  60. {
  61.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-5.3_1") < 0 )
  62.  {
  63.   security_hole(port);
  64.   exit(0);
  65.  }
  66. }
  67.  
  68. if ( egrep(pattern:"FreeBSD-5\.2", string:package) )
  69. {
  70.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-5.2.1_12") < 0 )
  71.  {
  72.   security_hole(port);
  73.   exit(0);
  74.  }
  75. }
  76.  
  77. if ( egrep(pattern:"FreeBSD-5\.1", string:package) )
  78. {
  79.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-5.1.1_18") < 0 )
  80.  {
  81.   security_hole(port);
  82.   exit(0);
  83.  }
  84. }
  85.  
  86. if ( egrep(pattern:"FreeBSD-5\.0", string:package) )
  87. {
  88.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-5.0_22") < 0 )
  89.  {
  90.   security_hole(port);
  91.   exit(0);
  92.  }
  93. }
  94.  
  95. if ( egrep(pattern:"FreeBSD-4\.[0-7]([^0-9]|$)", string:package) )
  96. {
  97.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-4.7_28") < 0 )
  98.  {
  99.   security_hole(port);
  100.   exit(0);
  101.  }
  102. }
  103.  
  104. if ( egrep(pattern:"FreeBSD-4\.8", string:package) )
  105. {
  106.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-4.8_26") < 0 )
  107.  {
  108.   security_hole(port);
  109.   exit(0);
  110.  }
  111. }
  112.  
  113. if ( egrep(pattern:"FreeBSD-4\.9", string:package) )
  114. {
  115.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-4.9_13") < 0 )
  116.  {
  117.   security_hole(port);
  118.   exit(0);
  119.  }
  120. }
  121.  
  122. if ( egrep(pattern:"FreeBSD-4\.10", string:package) )
  123. {
  124.  if ( pkg_cmp(pkg:package, reference:"FreeBSD-4.10_4") < 0 )
  125.  {
  126.   security_hole(port);
  127.   exit(0);
  128.  }
  129. }
  130.  
  131.